package com.mornd.gulimall.common.core.utils;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimals {

    /**
     * 校验 BigDecimal 是否有效，是否为 null 或小于等于 0
     *
     * @param decimal 要校验的 BigDecimal 对象
     * @return true 表示有效，false 表示无效
     */
    public static boolean isValid(BigDecimal decimal) {
        return decimal != null && decimal.compareTo(BigDecimal.ZERO) > 0;
    }

    /**
     * 保留两位小数，直接截取，比如1.126 会截取为 1.12
     *
     * @param origin
     * @return
     */
    public static BigDecimal setScale(BigDecimal origin) {
        if (origin == null) {
            return null;
        }
        return origin.setScale(2, RoundingMode.DOWN);
    }

    public static BigDecimal setPriceScale(int scale, BigDecimal origin) {
        if (origin == null) {
            return null;
        }
        return origin.setScale(scale, RoundingMode.DOWN);
    }

}
